iT邦幫忙

2023 iThome 鐵人賽

DAY 27
0
Software Development

30天快速打造Python資料結構&演算法邏輯刷爆LeetCode系列 第 27

DAY 27 「雙指針法 Leetcode」面試考題的Python程式碼撰寫~

  • 分享至 

  • xImage
  •  

一種常用於數組、字符串和鏈表等數據結構的解題技巧~

  • 移除元素 (Remove Element) - 題號:27
    題目描述:給你一個數組 nums 和一個值 val,你需要原地移除所有數值等於 val 的元素,並返回移除後數組的新長度。
def removeElement(nums, val):
    slow = 0
    for fast in range(len(nums)):
        if nums[fast] != val:
            nums[slow] = nums[fast]
            slow += 1
    return slow
  • 反轉字符串 (Reverse String) - 題號:344
    題目描述:編寫一個函數,其作用是將輸入的字符串反轉過來。
def reverseString(s):
    left, right = 0, len(s) - 1
    while left < right:
        s[left], s[right] = s[right], s[left]
        left += 1
        right -= 1
    return s
  • 替換空格 - 題號:劍指 Offer 05
    題目描述:請實現一個函數,把字符串中的每個空格替換成"%20"。
def replaceSpace(s):
    return s.replace(' ', '%20')
  • 翻轉字符串里的單詞 (Reverse Words in a String) - 題號:151
    題目描述:給定一個字符串,逐個翻轉字符串中的每個單詞。
def reverseWords(s):
    return ' '.join(s.split()[::-1])
  • 翻轉鏈表 (Reverse Linked List) - 題號:206
    題目描述:反轉一個單鏈表。
def reverseList(head):
    prev, curr = None, head
    while curr:
        next_node = curr.next
        curr.next = prev
        prev = curr
        curr = next_node
    return prev

上一篇
DAY 26 「字符串 Leetcode」面試考題的Python程式碼撰寫~
下一篇
DAY 28 「棧(Stacks)Leetcode」必考的Python程式碼撰寫~
系列文
30天快速打造Python資料結構&演算法邏輯刷爆LeetCode30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言